package com.smart.service.util.seteA;

import com.smart.service.util.UtilCard;
import com.smart.service.util.exception.CardException;

public class ValidatorVisa implements CardValidator7A {


	
	@Override
	public boolean validateNumber(String numero, String validade) throws CardException {
		
		String formatado = UtilLogicCard.validateFormat(numero, validade);

		if (formatado.startsWith("4")
				&& (formatado.length() == 13 || formatado.length() == 16)) {
		} else {
			throw new CardException(UtilCard.CARTAO_ERRO);
		}
		
		return UtilLogicCard.luhnValidation(formatado);
	}

}
